function ccR_DeathKnight_3()
	if ccrPlayerLevel() == 90 then ccR_DeathKnight_Unholy_90() end
end

function ccR_DeathKnight_Unholy_90()
	--[[
		Patch: 5.4.8
		Source: Noxxic (http://www.noxxic.com/wow/pve/death-knight/unholy/dps-rotation-and-cooldowns)

		1. Frost Fever | Blood Plague maintain at all times.
		2. Soul Reaper on target below 35% Health
		3. Dark Transformation on cooldown.
		4. Death Coil to dump RP.
		5. Death and Decay with 2 Unholy Runes.
		6. Festering Strike with 2 Blood and 2 Frost Runes.
		7. Scourge Strike to dump excess Runes. 

	]]--	
	-- Functions.lua
	ccR_DeathKnight_DeathStrike()
	ccR_DeathKnight_RaiseDead()
	if ccrPlayerIsInCombat()
	and ccrTargetIsWithinMeleeRange()
	then
		ccR_DeathKnight_Summon_Gargoyle()
		ccR_DeathKnight_Unholy_Frenzy()
	end
	-- Talents.lua
	ccR_DeathKnight_RoilingBlood()
	ccR_DeathKnight_PlagueLeech()
	ccR_DeathKnight_UnholyBlight()
	ccR_DeathKnight_LichborneHealing()
	ccR_DeathKnight_AntiMagicZone()
	ccR_DeathKnight_Deaths_Advance()
	ccR_DeathKnight_Asphyxiate()
	ccR_DeathKnight_Death_Pact()
	ccR_DeathKnight_DeathSiphon()
	ccR_DeathKnight_Conversion()
	ccR_DeathKnight_BloodTap()
	ccR_DeathKnight_GorefiendsGrasp()
	ccR_DeathKnight_RemorselessWinter()
	-- Abilities.lua
	ccR_DeathKnight_MindFreeze()
	ccR_DeathKnight_Strangulate()
	ccR_DeathKnight_ChainsOfIce()
	ccR_DeathKnight_Dark_Simulacrum()
	ccR_DeathKnight_Empower_Rune_Weapon()
	ccR_DeathKnight_Horn_of_Winter()
	ccR_DeathKnight_Icebound_Fortitude()

	if ccrValidTarget() then
		-- Single target rotation
		local vTargetCount = ccrTargetCount(10)
		if (ccRS.Auto_AoE and (vTargetCount >= 1 and vTargetCount <= ccRS.DeathKnight_3_SingleTargetCount))
		or (ccrTargetIsBoss() and ccRS.Auto_AoE_Ignore_On_Boss)
		or (not ccRS.Auto_AoE and not ccRS.Manual_AoE)	
		then
			-- Frost Fever | Blood Plague maintain at all times.
			if ccrSpellCanAttack(OUTBREAK)
			and (
				(not ccrTargetHasMyDebuff(FROST_FEVER) or not ccrTargetHasMyDebuff(BLOOD_PLAGUE))
			or
				(ccrTargetHasMyDebuffRemaining(FROST_FEVER, 3) or ccrTargetHasMyDebuffRemaining(BLOOD_PLAGUE, 3))
				)
			then
				ccrCastAttack(OUTBREAK)
				return
			else
				-- Frost Fever | Blood Plague
				if
				(not ccrTargetHasMyDebuff(FROST_FEVER)
				or
				not ccrTargetHasMyDebuff(BLOOD_PLAGUE)
				)
				and ccrSpellCanAttack(PLAGUE_STRIKE)
				then
					ccrCastAttack(PLAGUE_STRIKE)
					return
				end
			end
			-- 2. Soul Reaper on target below 35% Health
			if ccrTargetHealth() <= 35
			and ccrSpellIsReady(SOUL_REAPER_UNHOLY)
			and ccrSpellCanAttack(SOUL_REAPER_UNHOLY)
			then
				ccrCastAttack(SOUL_REAPER_UNHOLY)
				return
			end
			-- Diseases are on the target
			if ccrTargetHasMyDebuff(FROST_FEVER)
			and ccrTargetHasMyDebuff(BLOOD_PLAGUE) 
			then
				--	3. Dark Transformation on cooldown.
				if ccrPlayerHasBuffStacks(SHADOW_INFUSION, 5)
				and ccrSpellIsReady(DARK_TRANSFORMATION)
				then
					ccrCast(DARK_TRANSFORMATION)
					return
				end
				--	4. Death Coil to dump RP.
				if ccrSpellCanAttack(DEATH_COIL) then
					ccrCastAttack(DEATH_COIL)
					return
				end
				--	5. Death and Decay with 2 Unholy Runes.
				if ccrSpellIsReady(DEATH_AND_DECAY) then
					ccrCast(DEATH_AND_DECAY)
					if SpellIsTargeting() == 1 then CastAtLocation(Target:GetLocation()) end;
				end
				--	7. Scourge Strike to dump excess Runes. 
				if ccrSpellCanAttack(SCOURGE_STRIKE) then
					ccrCastAttack(SCOURGE_STRIKE)
					return
				end				
				--	6. Festering Strike with 2 Blood and 2 Frost Runes.
				if ccrSpellCanAttack(FESTERING_STRIKE) then
					ccrCastAttack(FESTERING_STRIKE)
					return
				end

			end
		end
		-- AoE Rotation
		vTargetCount = ccrPlayerCount(10)
		if (ccRS.Auto_AoE and vTargetCount >= ccRS.DeathKnight_3_AoECount)
		or (not ccRS.Auto_AoE and ccRS.Manual_AoE)
		then
			-- Death and Decay
			if ccrSpellIsReady(DEATH_AND_DECAY) then
				ccrCast(DEATH_AND_DECAY)
				if SpellIsTargeting() == 1 then CastAtLocation(Target:GetLocation()) end;			
			else
				-- Ensure Blood Plague is applied for Rolling Blood
				if ccrPlayerHasTalent(ROILING_BLOOD)
				and not ccrTargetHasMyDebuff(BLOOD_PLAGUE)
				and (ccrSpellCanAttack(OUTBREAK) or ccrSpellCanAttack(PLAGUE_STRIKE))
				then
					if ccrSpellCanAttack(OUTBREAK) then ccrCastAttack(OUTBREAK) end;
					if ccrSpellCanAttack(PLAGUE_STRIKE) then ccrCastAttack(PLAGUE_STRIKE) end;
				end
				-- Blood Boil
				if ccrTargetHasMyDebuff(FROST_FEVER)
				and ccrTargetHasMyDebuff(BLOOD_PLAGUE) 
				then
					if ccrSpellIsReady(BLOOD_BOIL) then 
						ccrCast(BLOOD_BOIL)
						return
					end
				end
				-- Death Coil
				if ccrSpellCanAttack(DEATH_COIL) then
					ccrCastAttack(DEATH_COIL)
					return
				end				
			end				
		end
	end
end